package com.un.ebs.workflow.domain;

import java.util.Date;

import com.un.ebs.workflow.enums.NodeTypeEnum;
import com.un.ebs.inventory.enums.InventoryTypeEnum;
import com.un.ebs.workflow.enums.NodePassTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (WorkflowNodeInstanceExt)表实体类
 *
 * @author liubo
 * @since 2020-08-23 22:13:14
 */
@Data
@Component
@TableName("v_workflow_node_instance_ext")
@SuppressWarnings("serial")
public class WorkflowNodeInstanceExt extends Model<WorkflowNodeInstanceExt> {


    @DbField(name = "id", length = 40, precision = 0)
    private String id;

    @DbField(name = "workflow_instance_id", length = 40, precision = 0)
    private String workflowInstanceId;

    @DbField(name = "node_id", length = 40, precision = 0)
    private String nodeId;

    @DbField(name = "node_name", length = 100, precision = 0)
    private String nodeName;

    @DbField(name = "node_type", length = -1, precision = 0)
    private NodeTypeEnum nodeType;

    @DbField(name = "user_group_id", length = 40, precision = 0)
    private String userGroupId;

    @DbField(name = "node_pass_type", length = -1, precision = 0)
    private NodePassTypeEnum nodePassType;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_time", length = -1, precision = 0)
    private Date createTime;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at", length = 40, precision = 0)
    private String createAt;

    @TableField(fill = FieldFill.INSERT)
    @DbField(name = "create_at_name", length = 100, precision = 0)
    private String createAtName;

    @DbField(name = "create_remark", length = 500, precision = 0)
    private String createRemark;

    @DbField(name = "complete_at", length = 40, precision = 0)
    private String completeAt;

    @DbField(name = "complete_at_name", length = 100, precision = 0)
    private String completeAtName;

    @DbField(name = "complete_remark", length = 500, precision = 0)
    private String completeRemark;

    @DbField(name = "complete_time", length = -1, precision = 0)
    private Date completeTime;

    @DbField(name = "parent_id", length = 40, precision = 0)
    private String parentId;

    @DbField(name = "tenant_id", length = 40, precision = 0)
    private String tenantId;

    @DbField(name = "workflow_id", length = 40, precision = 0)
    private String workflowId;

    @DbField(name = "workflow_code", length = 100, precision = 0)
    private String workflowCode;

    @DbField(name = "workflow_name", length = 100, precision = 0)
    private String workflowName;

    @DbField(name = "inventory_type", length = -1, precision = 0)
    private InventoryTypeEnum inventoryType;

    @DbField(name = "inventory_note_id", length = 40, precision = 0)
    private String inventoryNoteId;

    @DbField(name = "inventory_note_code", length = 40, precision = 0)
    private String inventoryNoteCode;

    @DbField(name = "workflow_close_status", length = -1, precision = 0)
    private Boolean workflowCloseStatus;

    @DbField(name = "workflow_close_time", length = -1, precision = 0)
    private Date workflowCloseTime;

    @DbField(name = "workflow_close_remark", length = 500, precision = 0)
    private String workflowCloseRemark;

    @DbField(name = "workflow_close_at_name", length = 100, precision = 0)
    private String workflowCloseAtName;

    @DbField(name = "workflow_close_at", length = 40, precision = 0)
    private String workflowCloseAt;

    @DbField(name = "workflow_pass_status", length = -1, precision = 0)
    private Boolean workflowPassStatus;


}